package cn.oracle.eshop.comment.domain;

import cn.oracle.eshop.comment.util.BeanCopierUtils;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

import java.util.Date;

/**评论信息
 * @author wyh
 * @ClassName CommentInfo
 * @date 2022/1/24 /22:50
 */
@Data
@Slf4j
public class CommentInfoVO {
    /**
     * id
     */
    private Long id;
    /**
     * 用户账号id
     */
    private Long userAccountId;
    /**
     * 用户名
     */
    private String username;
    /**
     * 订单信息id
     */
    private Long orderInfoId;
    /**
     * 订单条目id
     */
    private Long orderItemId;
    /**
     * 订单条目对应的商品id
     */
    private Long goodsId;
    /**
     * 订单条目对应的商品sku id
     */
    private Long goodsSkuId;
    /**
     * 商品sku销售属性
     */
    private String goodsSkuSaleProperties;
    /**
     * 总评分
     */
    private Integer totalScore;
    /**
     * 商品评分
     */
    private Integer goodsScore;
    /**
     * 客服评分
     */
    private Integer customerServiceScore;
    /**
     * 物流评分
     */
    private Integer logisticsScore;
    /**
     * 评论内容
     */
    private String commentContent;
    /**
     * 是否晒图
     */
    private Integer showPictures;
    /**
     * 是否是默认评论
     */
    private Integer defaultComment;
    /**
     * 评论状态
     */
    private Integer commentStatus;
    /**
     * 评论类型
     */
    private Integer commentType;
    /**
     * 评论的创建时间
     */
    private Date gmtCreate;
    /**
     * 评论的修改时间
     */
    private Date gmtModified;
    /**将自己的数据克隆到指定类型的对象中*/
    public <T> T clone(Class<T> clazz){
        T target=null;
        try {
            target=clazz.newInstance();
            BeanCopierUtils.copyProperties(this,target);
        }catch (Exception e){
            log.error("error",e);
            return null;
        }
        return  target;
    }
}
